package br.com.site.fiolaser.faces.impl;

import java.util.ArrayList;
import java.util.Collection;

import br.com.fiolaserdao.dto.DepoimentoDTO;
import br.com.fiolaserdao.facade.IDepoimentoFacade;
import br.com.fiolaserdao.facade.facadeimpl.FacadeFactory;
import br.com.site.fiolaser.faces.GenericFaces;
import br.com.site.fiolaser.faces.IPesquisaFaces;
import br.com.site.fiolaser.util.WebMessage;
import br.com.site.fiolaser.util.WebNavegacao;

/**
 * 
 * @author Fred
 * data: 24/10/2009
 *
 */

public class DepoimentoPesquisaFaces extends GenericFaces implements IPesquisaFaces{

	private DepoimentoDTO depoimentoDTO;
	private IDepoimentoFacade depoimentoFacade;
	private Collection<DepoimentoDTO> depoimentosList;
	
	public DepoimentoPesquisaFaces()
	{		
		depoimentoFacade = FacadeFactory.getInstance().getDepoimentoFacade();
		depoimentosList = new ArrayList<DepoimentoDTO>();
		this.inicializarDependenciasDTO();
	}
	
	@Override
	protected void inicializarDependenciasDTO() 
	{
		depoimentoDTO = new DepoimentoDTO();
				
	}		
	
	public void limparFaces() 
	{
		this.inicializarDependenciasDTO();
		depoimentosList = new ArrayList<DepoimentoDTO>();
	}

	public String pesquisar() 
	{
		try 
		{
			depoimentosList = new ArrayList<DepoimentoDTO>();
			
			depoimentosList = depoimentoFacade.obterPorFiltro(depoimentoDTO);
							
			if(depoimentosList.isEmpty())
			{
				WebMessage.addInfoKey("mensagem.nao.retornou.registro");
			}
				
		} catch (Exception e) {
			WebMessage.addError( e.getLocalizedMessage() );
		}
		return WebNavegacao.PESQUISA;
	}
	
	
   public String voltar() 
	{
		return pesquisar();		
	}

	public DepoimentoDTO getDepoimentoDTO() {
		return depoimentoDTO;
	}
	
	public void setDepoimentoDTO(DepoimentoDTO depoimentoDTO) {
		this.depoimentoDTO = depoimentoDTO;
	}
	
	public IDepoimentoFacade getDepoimentoFacade() {
		return depoimentoFacade;
	}
	
	public void setDepoimentoFacade(IDepoimentoFacade depoimentoFacade) {
		this.depoimentoFacade = depoimentoFacade;
	}
	
	public Collection<DepoimentoDTO> getDepoimentosList() {
		return depoimentosList;
	}
	
	public void setDepoimentosList(Collection<DepoimentoDTO> depoimentosList) {
		this.depoimentosList = depoimentosList;
	}
   
   
}
